Skip to content

feat(admin): add bucket metadata archive workflow#324

Merged
cxymds merged 1 commit into
mainfrom
cxymds/feat-bucket-metadata-archive
Jul 24, 2026
Merged

feat(admin): add bucket metadata archive workflow#324
cxymds merged 1 commit into
mainfrom
cxymds/feat-bucket-metadata-archive

Conversation

@cxymds

@cxymds cxymds commented Jul 24, 2026

Copy link
Copy Markdown
Member

Summary

  • add deterministic rc admin bucket-metadata export archives with atomic mode-0600 file replacement and bounded multi-bucket selection
  • add import from protected files or stdin with explicit fail, overwrite, or skip conflict handling and mutation-free dry-run
  • use typed bounded Admin API transport with archive entry, decompression, and total-size limits
  • fail closed when exported replication targets contain redacted credentials that cannot be safely restored
  • preserve per-bucket partial outcomes, cancellation semantics, and secret-free output

BREAKING contract update

The protected command reference is extended with bucket metadata export/import and its explicit conflict and secret-handling contract. Existing commands remain backward compatible.

Validation

  • cargo fmt --all --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace
  • git diff --check

Closes rustfs/backlog#1494
Refs rustfs/backlog#1380

@cxymds
cxymds force-pushed the cxymds/feat-bucket-metadata-archive branch from fa2e45b to ad5121d Compare July 24, 2026 13:20
@cxymds
cxymds force-pushed the cxymds/feat-bucket-metadata-archive branch from ad5121d to 450709b Compare July 24, 2026 13:26
@cxymds
cxymds merged commit 272e49c into main Jul 24, 2026
17 checks passed
@cxymds
cxymds deleted the cxymds/feat-bucket-metadata-archive branch July 24, 2026 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant